import Taro from '@tarojs/taro'

/**
 * 全局Toast服务
 * @description 提供类似wx.showToast的API，使用Taro的showToast方法
 */

/**
 * 显示Toast
 * @param options Toast配置选项
 */
export const showToast = (options: {
  title: string
  icon?: 'success' | 'error' | 'loading' | 'none'
  duration?: number
}) => {
  const { title, icon = 'none', duration = 1500 } = options
  
  Taro.showToast({
    title,
    icon,
    duration
  })
}

/**
 * 隐藏Toast
 */
export const hideToast = () => {
  Taro.hideToast()
}

/**
 * 显示成功Toast
 * @param title 提示内容
 * @param duration 显示时长
 */
export const showSuccessToast = (title: string, duration: number = 1500) => {
  showToast({
    title,
    icon: 'success',
    duration
  })
}

/**
 * 显示错误Toast
 * @param title 提示内容
 * @param duration 显示时长
 */
export const showErrorToast = (title: string, duration: number = 1500) => {
  showToast({
    title,
    icon: 'error',
    duration
  })
}

/**
 * 显示加载Toast
 * @param title 提示内容
 */
export const showLoadingToast = (title: string = '加载中...') => {
  showToast({
    title,
    icon: 'loading',
    duration: 0 // 加载状态不自动关闭
  })
}

/**
 * 显示普通Toast
 * @param title 提示内容
 * @param duration 显示时长
 */
export const showNoneToast = (title: string, duration: number = 1500) => {
  showToast({
    title,
    icon: 'none',
    duration
  })
}

// 导出默认方法，兼容wx.showToast的调用方式
export default {
  showToast,
  hideToast,
  showSuccessToast,
  showErrorToast,
  showLoadingToast,
  showNoneToast
} 